Methods, systems, and media for evaluating images

ABSTRACT

A method may include obtaining an image including a face. The method may further include determining at least one time domain feature related to the face in the image and at least one frequency domain information related to the face in the image. The method may further include evaluating the quality of the image based on the at least one time domain feature and the frequency domain information.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation Application of U.S. application Ser.No. 16/455,824, filed on Jun. 28, 2019, which is a continuation ofInternational Application No. PCT/CN2017/118598, filed on Dec. 26, 2017,which claims priority to Chinese Application No. 201611237293.0 filed onDec. 28, 2016, and Chinese Application No. 201611237296.4 filed on Dec.28, 2016, the contents of which are incorporated herein by reference.

TECHNICAL FIELD

The present disclosure generally relates to methods, systems and mediafor image processing, and in particular, to methods, systems and mediafor evaluating images including a face.

BACKGROUND

Face recognition is an important topic in the field of patternrecognition, and is also a very active research field at present. It hasbroad application prospects in the fields of safety, commerce andeconomics, such as criminal investigation and detection, documentverification, video surveillance, media entertainment, or the like. In aface recognition system, the quality of an image including a face mayhave a great influence on the accuracy of face recognition. An imagewith low quality may lead to errors or failures in the face recognitionsystem. Therefore, it is desirable to evaluate the quality of the image,and further to correct the image or the face in the image if needed.

SUMMARY

According to a first aspect of the present disclosure, a facerecognition electronic system may include one or more image obtainingunits configured to obtain an image and one or more image processingunits connected to the one or more image obtaining units. Duringoperation, the one or more image processing units may be directed toperform one or more of the following operations. The one or more imageprocessing units may obtain an image including a face. The one or moreimage processing units may determine at least one time domain featurerelated to the face in the image. The one or more image processing unitsmay determine at least one frequency domain information related to theface in the image. The one or more image processing units may evaluate aquality of the image based on the at least one time domain feature andthe frequency domain information.

In some embodiments, to evaluate the quality of the image, the one ormore image processing units may determine whether the at least one timedomain feature satisfies a condition. In response to a determinationthat the at least one time domain feature satisfies the condition, theone or more image processing units may evaluate the quality of the imagebased on the frequency domain information.

In some embodiments, the at least one time domain feature related to theface includes at least one of a posture of the face, or a definition ofthe face in the image.

In some embodiments, to determine the definition of the face in theimage, the one or more image processing units may be directed to performone or more of the following operations. The one or more imageprocessing units may extract at least one landmark point in the image,the at least one landmark point being with respect to a region ofinterest of the face. The one or more image processing units maydetermine at least one neighboring point of the at least one landmarkpoint. The one or more image processing units may determine, based onthe at least one landmark point and the at least one neighboring point,a local variance related to the at least one landmark point, an averagegradient related to the at least one landmark point, or an edge widthrelated to the at least one landmark point in the image.

In some embodiments, to evaluate the quality of the image, the one ormore image processing units may be directed to perform one or more ofthe following operations. The one or more image processing units maydetermine a value of a first parameter, the first parameter related toan average edge width of the at least one landmark point and a contrastratio of the image. The one or more image processing units may determinea value of a second parameter, the second parameter related to theposture of the face. The one or more image processing units maydetermine a quality evaluation value of the image based on the value ofthe first parameter and the value of the second parameter.

In some embodiments, to determine the at least one time domain featureof the face, the one or more image processing units may determine arotational angel of the face with respect to an axis.

In some embodiments, to determine the at least one time domain featureof the face, the one or more image processing units may determine aconfidence value of the face, the confidence value indicating whetherthe face is occluded.

In some embodiments, to determine the at least one frequency domaininformation of the image, the one or more image processing units may bedirected to perform one or more of the following operations. The one ormore image processing units may perform a time-to-frequency-domaintransformation on one or more pixel values of the image. The one or moreimage processing units may weight the time-to-frequency-domaintransformed one or more pixel values of the image based on a weightingmatrix. The one or more image processing units may determine the atleast one frequency domain information of the image based on theweighted pixel values of the image.

According to another aspect of the present disclosure, a methodimplemented on at least one image processing electronic device mayinclude one or more of the following operations. The method may includeobtaining an image including a face. The method may include determiningat least one time domain feature related to the face in the image. Themethod may include determining at least one frequency domain informationrelated to the face in the image. The method may further includeevaluating a quality of the image based on the at least one time domainfeature and the frequency domain information.

According to yet another aspect of the present disclosure, anon-transitory computer readable medium may comprise at least one set ofinstructions. The at least one set of instructions may be executed byone or more image processing units. The one or more image processingunits may obtain an image including a face. The one or more imageprocessing units may determine at least one time domain feature relatedto the face in the image. The one or more image processing units maydetermine at least one frequency domain information related to the facein the image. The one or more image processing units may evaluate aquality of the image based on the at least one time domain feature andthe frequency domain information.

According to yet another aspect of the present disclosure, a facerecognition electronic system may include one or more image obtainingunits configured to obtain an image and one or more image processingunits connected to the one or more image obtaining units. Duringoperation, the one or more image processing units may be directed toperform one or more of the following operations. The one or more imageprocessing units may obtain a two-dimensional (2D) image including aface, and three-dimensional (3D) data corresponding to the 2D image, the2D image including a plurality of pixels, the 3D data including aplurality of points. The one or more image processing units maydetermine, for each of the plurality of pixels in the 2D image, a pointin the 3D data corresponding to the pixel in the 2D image. The one ormore image processing units may determine a mask image based on thepoint in the 3D data corresponding to each of the plurality of pixels inthe 2D image. The one or more image processing units may determine,based on the mask image, a symmetry related parameter of the face in the2D image. The one or more image processing units may correct, based onthe symmetry related parameter of the face, the 2D image to generate acorrected 2D image including a front view of the face.

In some embodiments, to determine, for each of the plurality of pixelsin the 2D image, the point in the 3D data corresponding to the pixel inthe 2D image, the one or more image processing units may be directed toperform one or more of the following operations. The one or more imageprocessing units may determine at least one landmark point in the 2Dimage. The one or more image processing units may determine at least onepoint in the 3D data corresponding to the at least one landmark point inthe 2D image. The one or more image processing units may determine aprojection matrix based on the 3D data and a template 3D model of face.The one or more image processing units may determine a relationshipbetween the 2D image and the 3D data based on the projection matrix. Theone or more image processing units may determine, based on therelationship between the 2D image and the 3D data, at least one point inthe 3D data corresponding to the at least one landmark point in the 2Dimage.

In some embodiments, to determine the symmetry related parameter of theface in the 2D image, the one or more image processing units may bedirected to perform one or more of the following operations. The one ormore image processing units may divide the mask image into a firstsub-image and a second sub-image. The one or more image processing unitsmay determine a difference between the first sub-image and the secondsub-image. The one or more image processing units may determine, basedon the difference between the first sub-image and the second sub-image,the symmetry related parameter of the face in the 2D image.

In some embodiments, to correct the 2D image, the one or more imageprocessing units may be directed to perform one or more of the followingoperations. The one or more image processing units may determine aGaussian image based on the mask image. The one or more image processingunits may determine a first coefficient associated with the symmetryrelated parameter, the mask image, and the Gaussian image. The one ormore image processing units may flip the Gaussian image and the 2Dimage. The one or more image processing units may determine a secondcoefficient associated with the symmetry related parameter, the maskimage, and the flipped Gaussian image. The one or more image processingunits may determine a first matrix based on the 2D image and theGaussian image. The one or more image processing units may determine asecond matrix based on the 2D image and the first coefficient. The oneor more image processing units may determine a third matrix based on theflipped 2D image and the second coefficient. The one or more imageprocessing units may correct the 2D image based on the first matrix, thesecond matrix, and the third matrix.

According to yet another aspect of the present disclosure, a methodimplemented on at least one device each of which has at least oneprocessor and storage may include one or more of the followingoperations. The method may include obtaining a two-dimensional (2D)image including a face, and three-dimensional (3D) data corresponding tothe 2D image, the 2D image including a plurality of pixels, the 3D dataincluding a plurality of points. The method may include determining, foreach of the plurality of pixels in the 2D image, a point in the 3D datacorresponding to the pixel in the 2D image. The method may includedetermining a mask image based on the point in the 3D data correspondingto each of the plurality of pixels in the 2D image. The method mayinclude determining, based on the mask image, a symmetry relatedparameter of the face in the 2D image. The method may further includecorrecting, based on the symmetry related parameter of the face, the 2Dimage to generate a corrected 2D image including a front view of theface.

According to yet another aspect of the present disclosure, anon-transitory computer readable medium may comprise at least one set ofinstructions. The at least one set of instructions may be executed byone or more image processing units. The one or more image processingunits may obtain a two-dimensional (2D) image including a face, andthree-dimensional (3D) data corresponding to the 2D image, the 2D imageincluding a plurality of pixels, the 3D data including a plurality ofpoints. The one or more image processing units may determine, for eachof the plurality of pixels in the 2D image, a point in the 3D datacorresponding to the pixel in the 2D image. The one or more imageprocessing units may determine a mask image based on the point in the 3Ddata corresponding to each of the plurality of pixels in the 2D image.The one or more image processing units may determine, based on the maskimage, a symmetry related parameter of the face in the 2D image. The oneor more image processing units may correct, based on the symmetryrelated parameter of the face, the 2D image to generate a corrected 2Dimage including a front view of the face.

According to yet another aspect of the present disclosure, a system forface recognition may include an acquisition module configured to animage including a face. The system may also include an evaluation moduleconfigured to determine at least one time domain feature related to theface in the image, determine at least one frequency domain informationrelated to the face in the image and evaluate the quality of the imagebased on the at least one time domain feature and the frequency domaininformation.

According to yet another aspect of the present disclosure, a system forcorrecting a 2D image may include an acquisition module configured toobtain the 2D image including a face, and 3D data corresponding to the2D image, the 2D image including a plurality of pixels, the 3D dataincluding a plurality of points. The system may further include acorrection module configured to determine, for each of the plurality ofpixels in the 2D image, a point in the 3D data corresponding to thepixel in the 2D image. The correction module may be further configuredto determine a mask image based on the point in the 3D datacorresponding to each of the plurality of pixels in the 2D image, anddetermine, based on the mask image, a symmetry related parameter of theface in the 2D image. The correction module may be further configured tocorrect, based on the symmetry related parameter of the face, the 2Dimage to generate a corrected 2D image including a front view of theface.

Additional features will be set forth in part in the description whichfollows, and in part will become apparent to those skilled in the artupon examination of the following and the accompanying drawings or maybe learned by production or operation of the examples. The features ofthe present disclosure may be realized and attained by practice or useof various aspects of the methodologies, instrumentalities andcombinations set forth in the detailed examples discussed below.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is further described in terms of exemplaryembodiments. These exemplary embodiments are described in detail withreference to the drawings. These embodiments are non-limiting exemplaryembodiments, in which like reference numerals represent similarstructures throughout the several views of the drawings, and wherein:

FIG. 1 is a schematic diagram of an exemplary image processing systemaccording to some embodiments of the present disclosure;

FIG. 2 is a schematic diagram illustrating an exemplary computing deviceaccording to some embodiments of the present disclosure;

FIG. 3 is a schematic diagram illustrating exemplary hardware and/orsoftware components of an exemplary mobile device on which the terminalmay be implemented according to some embodiments of the presentdisclosure;

FIG. 4 is a block diagram illustrating an exemplary image processingdevice according to some embodiments of the present disclosure;

FIG. 5 is a block diagram illustrating an exemplary evaluation moduleaccording to some embodiments of the present disclosure;

FIG. 6 is a block diagram illustrating an exemplary correction moduleaccording to some embodiments of the present disclosure;

FIG. 7 is a flowchart illustrating an exemplary process for correctingan image including a face according to some embodiments of the presentdisclosure;

FIG. 8 is a flowchart illustrating an exemplary process for evaluatingthe quality of an image including a face according to some embodimentsof the present disclosure;

FIG. 9 is a flowchart illustrating an exemplary process for determiningwhether the quality of an image including a face is qualified accordingto some embodiments of the present disclosure;

FIG. 10 is a flowchart illustrating an exemplary process for determininga quality evaluation value of an image including a face according tosome embodiments of the present disclosure;

FIG. 11 is a flowchart illustrating an exemplary process for correctinga two-dimensional (2D) image according to some embodiments of thepresent disclosure;

FIG. 12 is a flowchart illustrating an exemplary process for determininga spatial point in 3D data corresponding to a pixel in the 2D imageaccording to some embodiments of the present disclosure;

FIG. 13 is a flowchart illustrating an exemplary process for determininga symmetry related parameter of the face in a 2D image according to someembodiments of the present disclosure;

FIG. 14 is a flowchart illustrating an exemplary process for correctinga 2D image according to some embodiments of the present disclosure;

FIG. 15 is a schematic diagram illustrating an exemplary posture of a 3Dface according to some embodiments of the present disclosure;

FIG. 16 is a schematic diagram illustrating exemplary landmark points inan image including a face according to some embodiments of the presentdisclosure;

FIG. 17 is a schematic diagram illustrating an exemplary 5*5 neighboringregion of a landmark point according to some embodiments of the presentdisclosure;

FIG. 18 is a schematic diagram illustrating exemplary characteristicregions in an image including a face according to some embodiments ofthe present disclosure;

FIG. 19 is a schematic diagram illustrating an exemplary window coveringeight neighboring points of a landmark point according to someembodiments of the present disclosure;

FIG. 20 is a schematic diagram illustrating an exemplary direction of anormal line of a landmark point in an image according to someembodiments of the present disclosure;

FIG. 21 is a schematic diagram illustrating an exemplary frequencydomain information of an image including a face according to someembodiments of the present disclosure;

FIG. 22 is a schematic diagram illustrating an exemplary weightingmatrix of frequency domain information of an image including a faceaccording to some embodiments of the present disclosure;

FIG. 23 is a schematic diagram illustrating another exemplary weightingmatrix of frequency domain information of an image including a faceaccording to some embodiments of the present disclosure;

FIG. 24 is a schematic diagram illustrating an exemplary image includinga face according to some embodiments of the present disclosure;

FIG. 25 is a schematic diagram illustrating an exemplary mask image ofan image including a face according to some embodiments of the presentdisclosure; and

FIG. 26 is a schematic diagram illustrating an exemplary Gaussian imageaccording to some embodiments of the present disclosure.

DETAILED DESCRIPTION

In accordance with various implementations, as described in more detailbelow, mechanisms, which can include systems, methods, and media, forface image correction are provided.

In the following detailed description, numerous specific details are setforth by way of examples in order to provide a thorough understanding ofthe relevant disclosure. However, it should be apparent to those skilledin the art that the present disclosure may be practiced without suchdetails. In other instances, well known methods, procedures, systems,components, and/or circuitry have been described at a relativelyhigh-level, without detail, in order to avoid unnecessarily obscuringaspects of the present disclosure.

Various modifications to the disclosed embodiments will be readilyapparent to those skilled in the art, and the general principles definedherein may be applied to other embodiments and applications withoutdeparting from the spirit and scope of the present disclosure. Thus, thepresent disclosure is not limited to the embodiments shown, but to beaccorded the widest scope consistent with the claims.

It will be understood that the term “system,” “module,” “unit,”“sub-unit,” and/or “block” used herein are one method to distinguishdifferent components, elements, parts, section or assembly of differentlevels in ascending order. However, the terms may be displaced by otherexpression if they may achieve the same purpose.

It will be understood that when a unit, module or block is referred toas being “on,” “connected to” or “coupled to” another unit, module, orblock, it may be directly on, connected or coupled to the other unit,module, or block, or intervening unit, module, or block may be present,unless the context clearly indicates otherwise. As used herein, the term“and/or” includes any and all combinations of one or more of theassociated listed items.

The terminology used herein is for the purpose of describing particularexample embodiments only and is not intended to be limiting. As usedherein, the singular forms “a,” “an” and “the” may be intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprise,”“comprises,” and/or “comprising,” “include,” “includes,” and/or“including,” when used in this specification, specify the presence ofstated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, integers, steps, operations, elements, components,and/or groups thereof.

These and other features, and characteristics of the present disclosure,as well as the methods of operation and functions of the relatedelements of structure and the combination of parts and economies ofmanufacture, may become more apparent upon consideration of thefollowing description with reference to the accompanying drawing(s), allof which form a part of this specification. It is to be expresslyunderstood, however, that the drawing(s) are for the purpose ofillustration and description only and are not intended to limit thescope of the present disclosure.

The flowcharts used in the present disclosure illustrate operations thatsystems implement according to some embodiments of the presentdisclosure. It is to be expressly understood, the operations of theflowchart may be implemented not in order. Conversely, the operationsmay be implemented in inverted order, or simultaneously. Moreover, oneor more other operations may be added to the flowcharts. One or moreoperations may be removed from the flowcharts.

An aspect of the present disclosure relates to systems and methods forcorrecting an image including a face. The systems and methods mayinclude evaluating a quality of the image based on at least one timedomain feature and frequency domain information related to the face inthe image. Furthermore, the systems and methods may include determininga symmetry related parameter of the face which is associated with theposture of the face in the image. Additionally, the systems and methodmay include correcting the image to obtain a front-view face in theimage.

FIG. 1 is a schematic diagram of an exemplary image processing system100 according to some embodiments of the present disclosure. Asillustrated in FIG. 1, the image processing system 100 may include animaging device 110, an image processing device 120, a terminal 130, astorage 140, a network 150, a base station 160, and/or any othersuitable component for processing images in accordance with variousembodiments of the disclosure.

The imaging device 110 may generate an image including a specific object(e.g., a human face). The image may include a single frame that presentsa static object, or a plurality of frames that present a moving object.The imaging device 110 may be any suitable device that is capable ofgenerating an image. For example, the imaging device 110 may include acamera, a sensor, an image recorder, or the like, or a combinationthereof. In some embodiments, the imaging device 110 may include asuitable type of camera, such as a fixed camera, a fixed dome camera, acovert camera, a Pan-Tilt-Zoom (PTZ) camera, a thermal camera, etc. Insome embodiments, the imaging device 110 may include a suitable type ofsensor, such as an audio sensor, a light sensor, a wind speed sensor, orthe like, or a combination thereof.

The image(s) generated by the imaging device 110 may be stored in thestorage 140, and/or sent to the image processing device 120, or theterminal 130 via the network 150.

The image processing device 120 may process an image generated by theimaging device 110 or retrieved from another component in the imageprocessing system 100 (e.g., the storage 140, the terminal 130). Theimage processing device 120 may evaluate the quality of the image and/orcorrect the image. For example, the image processing device 120 maycorrect an image if the image is designated as unqualified. In someembodiments, the image processing device 120 may be integrated with theimaging device 110 to form an integrated component of the imagingprocessing system 100.

The image processing device 120 may also generate a control signal basedon, for example, a feature of an object, an image of an object, a videoof an object, or the like, or a combination. The control signal may beused to control the imaging device 110. For example, the imageprocessing device 120 may generate a control signal to control theimaging device 110 (e.g., a camera) to track an object and obtain animage of the object.

The image processing device 120 may be any suitable device that iscapable of evaluating the quality of the image and correcting the image.For example, the image processing device 120 may include ahigh-performance computer specialized in data processing, a personalcomputer, a portable device, a server, a microprocessor, an integratedchip, a digital signal processor (DSP), a tablet computer, a personaldigital assistant (PDA), or the like, or a combination thereof. In someembodiments, the image processing device 120 may be implemented on animage processing device 200 shown in FIG. 2.

The terminal 130 may be connected to or communicate with the imageprocessing device 120. The terminal 130 may allow one or more operatorsto control the production and/or display of the data (e.g., the imagecaptured by the imaging device 110) on a display. The terminal 130 mayinclude an input device, an output device, a control panel, a display(not shown in FIG. 1), or the like, or a combination thereof.

An input device may be a keyboard, a touch screen, a mouse, a remotecontroller, a wearable device, or the like, or a combination thereof.The input device may include alphanumeric and other keys that may beinputted via a keyboard, a touch screen (e.g., with haptics or tactilefeedback), a speech input, an eye tracking input, a brain monitoringsystem, or any other comparable input mechanism. The input informationreceived through the input device may be communicated to the imageprocessing device 120 via the network 150 for further processing.Another type of the input device may include a cursor control device,such as a mouse, a trackball, or cursor direction keys to communicatedirection information and command selections to, for example, the imageprocessing device 120 and to control cursor movement on display oranother display device.

A display may be configured to display the data received (e.g., theimage captured by the imaging device 110). The data may include databefore and/or after data processing, a request for input or parameterrelating to video acquisition and/or processing, or the like, or acombination thereof. The display may include a liquid crystal display(LCD), a light emitting diode (LED)-based display, a flat panel displayor curved screen (or television), a cathode ray tube (CRT), or the like,or a combination thereof.

The network 150 may facilitate communications between various componentsof the image processing system 100. The network 150 may be a singlenetwork, or a combination of various networks. The network 150 may be awired network or a wireless network. The wired network may include usinga Local Area Network (LAN), a Wide Area Network (WAN), a ZigBee, or thelike, or a combination thereof. The wireless network may be a Bluetooth,a Near Field Communication (NFC), a wireless local area network (WLAN),Wi-Fi, a Wireless Wide Area Network (WWAN), or the like, or acombination thereof. The network 150 may also include various networkaccess points, e.g., wired or wireless access points such as the basestations 160 or Internet exchange points through which a data source mayconnect to the network 150 to transmit data via the network 150.

The storage 140 may store data, image related information or parameters.The data may include an image (e.g., an image obtained by the imagingdevice 110), an audio signal, a video signal and/or communication data.The image related information may include a feature (e.g., pixel value)related to the object (e.g., face) in the image, frequency domaininformation of the image. More details regarding the image relatedinformation may be found in, for example, FIGS. 8-14 and thedescriptions thereof. The image related parameter may include anintrinsic parameter (e.g., a focal length, a lens distortion parameter),and/or an extrinsic parameter (e.g., the pose of a camera, a positionparameter of the camera) of the imaging device 110 (e.g., camera) thatgenerates the image. Additionally, the image related parameter mayinclude one or more parameters used to determine the quality of theimage, e.g., as described in FIG. 10. Furthermore, the image relatedparameter may include a coefficient of one or more pixel matrixes forcorrecting the image, e.g., as described in FIG. 14.

It should be noted that the descriptions above of the image processingsystem 100 is provided for the purposes of illustration, and notintended to limit the scope of the present disclosure. For personshaving ordinary skills in the art, various variations and modificationsmay be conducted under the guidance of the present disclosure. However,those variations and modifications do not depart the scope of thepresent disclosure. For example, part or all of the image data generatedby the imaging device 110 may be processed by the terminal 130. In someembodiments, the imaging device 110, the image processing device 120 maybe implemented in one single device configured to perform the functionsof the imaging device 110 and the image processing device 120 describedin this disclosure. In some embodiments, the terminal 130, and thestorage 140 may be combined with the image processing device 120 as asingle device. Similar modifications should fall within the scope of thepresent disclosure.

FIG. 2 is a schematic diagram illustrating exemplary hardware andsoftware components of an image processing device 200 on which theimaging device 110, the image processing device 120, and/or the terminal130 may be implemented according to some embodiments of the presentdisclosure. For example, the image processing device 120 may beimplemented on the image processing device 200 and configured to performfunctions of the image processing device 120 disclosed in thisdisclosure.

The image processing device 200 may be a special-purpose computer, bothof which may be used to implement a data transmission system for thepresent disclosure. The image processing device 200 may be used toimplement any part of the data transmission as described herein. Forexample, the image processing device 120 may be implemented on the imageprocessing device 200, via its hardware, software program, firmware, ora combination thereof. Although only one such computer is shown, forconvenience, the computer functions relating to the image processing asdescribed herein may be implemented in a distributed fashion on a numberof similar platforms, to distribute the processing load.

The image processing device 200, for example, may include COM ports 250connected to and from a network connected thereto to facilitate datacommunications. The image processing device 200 may also include acentral processing unit (CPU) 220, in the form of one or moreprocessors, for executing program instructions. The exemplary computerplatform may include an internal communication bus 210, a programstorage and data storage of different forms, such as, a disk 270, and aread only memory (ROM) 230, or a random access memory (RAM) 240, forvarious data files to be processed and/or transmitted by the computer.The exemplary computer platform may also include program instructionsstored in the ROM 230, RAM 240, and/or any other type of non-transitorystorage medium to be executed by the CPU 220. The methods and/orprocesses of the present disclosure may be implemented as the programinstructions. The image processing device 200 also includes an I/Ocomponent 260, supporting input/output between the computer and othercomponents therein. The image processing device 200 may also receiveprogramming and data via network communications.

Merely for illustration, only one CPU and/or processor is illustrated inthe image processing device 200. However, it should be noted that theimage processing device 200 in the present disclosure may also includemultiple CPUs and/or processors, thus operations and/or method stepsthat are performed by one CPU and/or processor as described in thepresent disclosure may also be jointly or separately performed by themultiple CPUs and/or processors. For example, if in the presentdisclosure the CPU and/or processor of the image processing device 200executes both step A and step B, it should be understood that step A andstep B may also be performed by two different CPUs and/or processorsjointly or separately in the image processing device 200 (e.g., thefirst processor executes step A and the second processor executes stepB, or the first and second processors jointly execute steps A and B).

FIG. 3 is a schematic diagram illustrating exemplary hardware and/orsoftware components of an exemplary device 300 on which the terminal 130may be implemented according to some embodiments of the presentdisclosure. The device 300 may be a mobile device or may be a devicefixed in certain position. As illustrated in FIG. 3, the device 300 mayinclude a communication platform 310, a display 320, a graphicprocessing unit (GPU) 330, a central processing unit (CPU) 340, an I/O350, a memory 360, and a storage 390. In some embodiments, any othersuitable component, including but not limited to a system bus or acontroller (not shown), may also be included in the device 300. In someembodiments, a mobile operating system 370 (e.g., iOS™, Android™,Windows Phone™) and one or more applications 380 may be loaded into thememory 360 from the storage 390 in order to be executed by the CPU 340.The applications 380 may include a browser or any other suitable mobileapps for receiving and rendering information relating to transmittingdata in a video signal or other information from, for example, the imageprocessing device 120. User interactions with the information stream maybe achieved via the I/O 350 and provided to the image processing device120 and/or other components of the image processing system 100 via thenetwork 150.

FIG. 4 is a block diagram illustrating an exemplary image processingdevice 120 according to some embodiments of the present disclosure. Theimage processing device 120 may include an acquisition module 410, anevaluation module 420, and a correction module 430.

The acquisition module 410 may obtain an image including a face. In someembodiments, the image may be a two-dimensional (2D) image or athree-dimensional (3D) image.

The evaluation module 420 may evaluate the quality of an image acquiredby the acquisition module 410. In some embodiments, the evaluationmodule 420 may determine whether the image is qualified according to aconfidence value of the object (e.g., a face) in the image. Theconfidence value may indicate the credibility of the object in an imagewhen the evaluation module 420 evaluates the image. The confidence valuemay be in associated with a condition of the object, e.g., whether theobject is occluded. Alternatively or additionally, the evaluation module420 may determine whether the image is qualified according to a featureof the object (e.g., a face) in the image. Exemplary feature of theobject may include the posture of the object, the definition of theobject, or the like, or a combination thereof. As used herein, thedefinition of the object may indicate the level of clarity of the objectin the image. A larger definition of the object may correspond to ahigher level of clarity of the object. The posture of the object mayrepresent the position of the object or a rotational angle of the objectwith respect to a specific direction.

The correction module 430 may correct an image (e.g., a 2D image, a 3Dimage). In some embodiments, the correction module 430 may correct animage including an object (e.g., a face) to change one or more features(e.g., the posture, the definition) of the object. For example, thecorrection module 430 may adjust the posture of the object presented inthe image.

The modules in the image processing device 120 may be connected to orcommunicate with each other via a wired connection or a wirelessconnection. The wired connection may include a metal cable, an opticalcable, a hybrid cable, or the like, or any combination thereof. Thewireless connection may include a Local Area Network (LAN), a Wide AreaNetwork (WAN), a Bluetooth, a ZigBee, a Near Field Communication (NFC),or the like, or any combination thereof. Two or more of the modules maybe combined into a single module, and any one of the modules may bedivided into two or more units. In some embodiments, the imageprocessing device 120 may include a storage module used to storeinformation and/or data associated with the image to be processed.

FIG. 5 is a block diagram illustrating an exemplary evaluation module420 according to some embodiments of the present disclosure. Theevaluation module 420 may include an image acquisition unit 510, afeature determination unit 520, a feature evaluation unit 530, and aquality evaluation unit 540.

The image acquisition unit 510 may obtain an image. In some embodiments,the image may include a 2D image and/or a 3D image.

The feature determination unit 520 may determine one or more featuresrelated to an object in an image acquired from, for example, the imageacquisition unit 510. In some embodiments, the image may include a humanface, an animal face, and/or any other objects that is suitable forimage recognition. In the following description, the present disclosuretakes a human face as an example to illustrate the systems and methodsthereof. The one or more features related to the face may include atleast one of the posture of the face, the definition of the face, and/ora confidence value of the face indicating whether the face is occluded.

The feature evaluation unit 530 may evaluate a feature related to anobject (e.g., a face) in an image. In some embodiments, the featureevaluation unit 530 may evaluate whether a feature related to the objectin the image satisfies a condition. For example, the feature evaluationunit 530 may determine whether the posture of the object in the imagesatisfies a first condition. As another example, the feature evaluationunit 530 may determine whether the definition of the object in the imagesatisfies a second condition. As still another example, the featureevaluation unit 530 may determine whether a confidence value of theobject satisfies a third condition. The first condition, the secondcondition and the third condition may be described elsewhere (e.g., theprocess 900 in FIG. 9 and the description thereof) in the presentdisclosure.

The quality evaluation unit 540 may determine whether the quality of animage is qualified. In some embodiments, the quality evaluation unit 540may perform the determination according to one or more featuresdetermined by the feature determination unit 520 or evaluated by thefeature evaluation unit 530. In some embodiments, the quality evaluationunit 540 may perform the determination associated with the imageaccording to the frequency domain information of the image. Moredescriptions for determining the quality of the image may be describedelsewhere (e.g., the process 1000 in FIG. 10 and the descriptionthereof) in the present disclosure.

The units in the evaluation module 420 may be connected to orcommunicated with each other via a wired connection or a wirelessconnection. The wired connection may include a metal cable, an opticalcable, a hybrid cable, or the like, or any combination thereof. Thewireless connection may include a Local Area Network (LAN), a Wide AreaNetwork (WAN), a Bluetooth, a ZigBee, a Near Field Communication (NFC),or the like, or any combination thereof. Two or more of the modules maybe combined into a single module, and any one of the modules may bedivided into two or more units. In some embodiments, the evaluationmodule 420 may include a storage unit (not shown) used to storeinformation and/or data associated with the image to be evaluated.

FIG. 6 is a block diagram illustrating an exemplary correction module430 according to some embodiments of the present disclosure. Thecorrection module 430 may include a data acquisition unit 610, a pointdetermination unit 620, a mask image determination unit 630, a symmetrydetermination unit 640, and a correction unit 650.

The data acquisition unit 610 may obtain a 2D image and 3D datacorresponding to the 2D image. In some embodiments, the 2D image and the3D data may include a same object (e.g., a face). The 3D data may bepresented in the form of a 3D image, a 3D model, or the like, or acombination thereof.

The point determination unit 620 may determine the relationship betweena point (e.g., a pixel) in a 2D image and a spatial point in 3D datacorresponding to the 2D image. More descriptions for determining aspatial point in the 3D data corresponding to a pixel in the 2D imagemay be found elsewhere (e.g., the process 1000 in FIG. 10 and thedescription thereof) of the present disclosure.

The mask image determination unit 630 may determine a mask image basedon a 2D image and 3D data corresponding to the 2D image.

The symmetry determination unit 640 may determine the symmetry of anobject (e.g., a face) in an image. The symmetry determination unit 640may determine the symmetry of the object based on the difference betweena half portion of the image and the other half portion of the image.More descriptions for determining the symmetry of a face in an image maybe found elsewhere (e.g., the process 1300 in FIG. 13 and thedescription thereof) in the present disclosure.

The correction unit 650 may correct an image. In some embodiments, thecorrection unit 650 may correct the image based on the symmetry of anobject in the image determined by, for example, the symmetrydetermination unit 640. More descriptions for correcting a 2D image maybe found elsewhere (e.g., the process 1400 in FIG. 14 and thedescription thereof) in the present disclosure.

The units in the correction module 430 may be connected to orcommunicated with each other via a wired connection or a wirelessconnection. The wired connection may include a metal cable, an opticalcable, a hybrid cable, or the like, or any combination thereof. Thewireless connection may include a Local Area Network (LAN), a Wide AreaNetwork (WAN), a Bluetooth, a ZigBee, a Near Field Communication (NFC),or the like, or any combination thereof. Two or more of the modules maybe combined into a single module, and any one of the modules may bedivided into two or more units. In some embodiments, the correctionmodule 430 may include a storage unit (not shown) used to store an imageto be corrected.

FIG. 7 is a flowchart illustrating an exemplary process 700 forcorrecting an image including a face according some embodiments of thepresent disclosure. The process 700 may be implemented as a set ofinstructions (e.g., an application) stored in the storage ROM 230, RAM240 or hardware and/or software components of the device 300. Theprocessor 220 and/or the device 300 may execute the set of instructions,and when executing the instructions, it may be configured to perform theprocess 700. The operations of the illustrated process presented beloware intended to be illustrative. In some embodiments, the process 700may be accomplished with one or more additional operations not describedand/or without one or more of the operations discussed. Additionally,the order in which the operations of the process as illustrated in FIG.7 and described below is not intended to be limiting.

In 702, the image processing device 120 (e.g., the acquisition module410) may obtain an image including a face. In some embodiments, theimage including a face may include a 2D image and/or a 3D image.

In 704, the image processing device 120 (e.g., the evaluation module420) may evaluate the image. In some embodiments, the evaluation module420 may evaluate the image based on at least one feature related to theface in the image such as to generate a result indicating the quality ofthe image (e.g., indicating whether the image is qualified). Forexample, the image may be regarded as qualified if the at least onefeature related to the face in the image satisfies a certain condition.The at least one feature related to the face in the image may include atleast one of the posture of the face, the definition of the face, and/ora confidence value of the face indicating whether the face is occluded,or the like, or any combination thereof. More descriptions regarding thefeature(s) related to the face may be found elsewhere (e.g., in FIG. 8and the description thereof) in the disclosure.

In some embodiments, the operation 704 may include different stages ofevaluation. For example, the first stage may include evaluating theimage based on at least one time domain feature related to the face. Thesecond stage may include evaluating the image based on the frequencydomain information related to the face. It shall be noted that thedifferent stages of evaluation may be performed sequentially orconcurrently. In a sequential order of performing the stages ofevaluation, the sequence of different stages of evaluation may bealtered. For example, the evaluation of the image based on at least onetime domain feature related to the face may be performed prior to orafter the evaluation of the image based on frequency domain informationrelated to the face. As used herein, the time domain feature related tothe face may indicate the feature of the face presented in the image ata time spot or during a time interval.

In 706, the image processing device 120 (e.g., the correction module430) may correct the image based on the quality of the image. In someembodiments, if the image is unqualified (e.g., the at least on featurerelated to the face in the image does not satisfy the certaincondition), the correction module 430 may correct the image bycorrecting one or more features of the face. For example, the correctionmodule 430 may adjust the posture of the face presented in the image.More descriptions of image correction may be found elsewhere (e.g., inFIGS. 11-14 and the descriptions thereof) in the present disclosure.

FIG. 8 is a flowchart illustrating an exemplary process 800 forevaluating quality of an image including a face according to someembodiments of the present disclosure. The process 800 may beimplemented as a set of instructions (e.g., an application) stored inthe storage ROM 230, RAM 240 or hardware and/or software components of adevice 300. The processor 220 and/or the device 300 may execute the setof instructions, and when executing the instructions, it may beconfigured to perform the process 800. The operations of the illustratedprocess presented below are intended to be illustrative. In someembodiments, the process 800 may be accomplished with one or moreadditional operations not described and/or without one or more of theoperations discussed. Additionally, the order in which the operations ofthe process as illustrated in FIG. 8 and described below is not intendedto be limiting. In some embodiments, the process 800 may be performed inconnection with the operation 704.

In 802, the evaluation module 420 (e.g., the information acquisitionunit 510) may acquire an image including a face.

In 804, the evaluation module 420 (e.g., the feature determination unit520) may determine at least one time domain feature related to the facein the image. Exemplary time domain features related to the face mayinclude the posture of the face, the definition of the face, and/or aconfidence value of the face indicating whether the face is occluded, orthe like, or a combination thereof.

In some embodiments, the posture of the face may represent the positionof the face or a rotational angle of the face with respect to a specificaxis. The rotational angle of the face may include a deflection angle ofthe face with respect to axis YAW (also referred to as Sa_yaw) asillustrated in FIG. 15, a pitch angle of the face with respect to axisPITCH (also referred to as Sa_pitch) as illustrated in FIG. 15, or atilt angle of the face with respect to an axis ROLL (also referred to asSa_roll) as illustrated in FIG. 15. As used herein, the rotational angleof the face may refer to the angle with respect to a reference positionof the face, e.g., the front-view face.

In some embodiments, the definition of the face may represent the levelof clarity of the face in the image. To determine the definition of theface, the evaluation module 420 (e.g., the feature determination unit520) may extract at least one landmark point of the face. As usedherein, a landmark point may be a characteristic point that belongs toor represents a specific region of the face in the image.

Exemplary landmark points of the face may include an edge point of afacial feature (e.g., a mouth corner point, an eye corner point) of theface. For illustration purpose, the landmark point(s) of the face may beextracted from the image based on a face landmark point localizationalgorithm. As shown in FIG. 16, the evaluation module 420 (e.g., thefeature determination unit 520) may select 14 landmark points labelledwith consecutive numerals 0, 1, 2, . . . , 13. The 14 landmark pointsmay include points at the upper edge of the eyebrow center (e.g., thelandmark points 0 and 5), boundary points of the right eye (e.g., thelandmark points 1 and 3), an upper edge point of the right eye (e.g.,the landmark point 2), a lower edge points of the right eye (e.g., thelandmark point 4)), boundary points of the left eye (e.g., the landmarkpoints 6 and 8), an upper edge points of the left eye (e.g., thelandmark point 7), an lower edge points of the left eye (e.g., thelandmark point 9)), boundary points of the mouth (e.g., the landmarkpoints 10 and 12), and upper/lower edge point of the mouth (e.g., thelandmark points 11/13)). In some embodiments, in order to extract thelandmark points, the size of the image may be adjusted to a uniform size(e.g., 120 pixel*120 pixel), and thus, corresponding positions of thelandmark point may be determined in the adjusted image.

The evaluation module 420 (e.g., the feature determination unit 520) maydetermine at least one neighboring point around a landmark point. Then,based on the landmark points and the at least one neighboring pointaround each landmark point, the evaluation module 420 (e.g., the featuredetermination unit 520) may determine a parameter related to thedefinition of the face in the image, e.g., the local variance related tothe landmark points, an average gradient related to the landmark points,and/or an edge width related to the landmark points.

As used herein, the local variance may be a statistical variance of thepixel values of pixel points in a neighboring region around the landmarkpoint. The neighboring region may have the shape of a triangle, acircle, or a quadrilateral, or the like. In some embodiments, theneighboring region may be a 5 pixel*5 pixel region as shown in FIG. 17.In FIG. 17, the circle “⊚” represents the landmark point (e.g., one ofthe 14 landmark points shown in FIG. 16). Each grid around the landmarkpoint represents a pixel in the neighboring region of the landmarkpoint. For each landmark point, the evaluation module 420 (e.g., thefeature determination unit 520) may determine a local variance based onthe pixel value of the landmark point and the pixel values of the pixelpoints in the neighboring region.

The average gradient may be a gradient statistics of the pixel values ofpixel points in a characteristic region. The characteristic region maybe a specific region including at least one region of interest (ROI) onthe face. For example, the characteristic region may be a regionenclosing all or a portion of the 14 landmark points illustrated in FIG.16. As another example, the characteristic region may include a righteye region, a left eye region, and a mouth region as shown in FIG. 18.In FIG. 18, the right eye region may be represented by a firstcircumscribed rectangle enclosing the landmark points 0 to 4. The lefteye region may be represented by a second circumscribed rectangleenclosing the landmark points 5 to 9. The mouth region may berepresented by a third circumscribed rectangle enclosing the landmarkpoints 10 to 13. The evaluation module 420 (e.g., the featuredetermination unit 520) may determine the average gradient based on thepixel values of the points in the first characteristic region, secondcharacteristic region, and/or third characteristic region.

For illustration purpose, to determine an average gradient of acharacteristic region, the evaluation module 420 (e.g., the featuredetermination unit 520) may identify all pixel points in thecharacteristic region. For each of the pixel points in thecharacteristic region, the evaluation module 420 may determine aweighted gradient matrix.

To determine a weighted gradient matrix for a pixel point, theevaluation module 420 (e.g., the feature determination unit 520) maydetermine a local region for each of the pixel points in thecharacteristic region. Taking a pixel point “⊚” shown in FIG. 19 as anexample, the evaluation module 420 may determine a 3 pixel*3 pixelwindow as the local region of the pixel point “⊚”. The 3 pixel*3 pixelwindow covers eight neighboring pixel points around the pixel point “⊚”.In the local region, the distance from each corner pixel point (e.g.,represented by “※”) to the pixel point “⊚” is √{square root over (2)},and the distance from each adjacent pixel point (e.g., represented by“+”) to the pixel point “⊚” is 1. Thus, a weighting matrix W may berepresented by:

$\begin{matrix}{W = {\begin{bmatrix}{1/\sqrt{2}} & 1 & {1/\sqrt{2}} \\1 & 0 & 1 \\{1/\sqrt{2}} & 1 & {1\sqrt{2}}\end{bmatrix}.}} & (1)\end{matrix}$

Then, the evaluation module 420 (e.g., the feature determination unit520) may determine a local gradient matrix by subtracting the pixelvalue of the pixel point “⊚” by the pixel value of each other pixelpoint in the local region. Further, the evaluation module 420 (e.g., thefeature determination unit 520) may determine the weighted gradientmatrix of a pixel point by weighting the local gradient matrix by theweighting matrix, e.g., by multiplying the value in the local gradientmatrix with a corresponding value in the weighting matrix.

The values in the weighted gradient matrix may be referred to asgradient values. For each weighted gradient matrix corresponding to apixel point in the characteristic region, the evaluation module 420(e.g., the feature determination unit 520) may identify the gradientvalues which are greater than a specific threshold (e.g., 2) as targetgradient values. For each weighted gradient matrix, the number of thetarget values may be expressed as N, the sum of all target values may beexpressed as S. Additionally, the evaluation module 420 (e.g., thefeature determination unit 520) may identify the maximum gradient valuein the vertical direction (e.g., the values in the second column line)in the weighted gradient matrix corresponding to a pixel point in thecharacteristic region.

Next, the evaluation module 420 (e.g., the feature determination unit520) may determine the average gradient of a characteristic regionaccording to formula (2) below:

$\begin{matrix}{{{AVG}_{nmg} = {\frac{S}{N}*{{MAX}_{G}/{AVG}_{gry}}}},} & (2)\end{matrix}$

where AVG_(nmg) refers to the average gradient of the characteristicregion, AVG_(gry) refers to an average gray value of the characteristicregion, MAX_(G) refers to the maximum gradient value in the verticaldirection among all weighted gradient matrixes.

As used herein, the edge width related to a landmark point may berepresented by the number of translation pixel points associated withthe landmark point. The evaluation module 420 (e.g., the featuredetermination unit 520) may determine the translation pixel points bymoving the landmark point along a certain direction by one pixel pointat a time. The certain direction may be along a normal line of a curveat the landmark point. For illustration purpose, taking the landmarkpoints M and P in FIG. 20 as examples, the evaluation module 420 (e.g.,the feature determination unit 520) may determine a curve (also referredto as “edge curve”) that passes through the landmark points M and P.Then, the evaluation module 420 (e.g., the feature determination unit520) may determine the normal lines (e.g., the direction represented byarrows in FIG. 20) at the landmark point P and M, respectively. Then,the evaluation module 420 (e.g., the feature determination unit 520) maymove the landmark point along opposite directions (e.g., the directionrepresented by arrows in FIG. 20) of the normal line by one pixel pointat a time until a stopping condition is satisfied.

In some embodiments, the stopping condition may depend on the pixelvalue of the translation pixel point. For example, if the differencebetween the pixel value of the translation pixel point and the pixelvalue of the landmark point is greater than a gray difference threshold,the translation of the landmark point may be terminated. The numbers oftranslation pixel points on both sides of the curve may be counted,respectively. As such, the edge width related to the landmark point maybe determined according to formula (3) below:

EW=EW1+EW2  (3)

where EW refers to the edge width related to the landmark point, EW1 andEW2 refer to the numbers of translation pixel points on both sides ofthe curve, respectively.

The gray difference threshold may be determined according to a contrastratio of the characteristic region (e.g., the right eye region, the lefteye region, and/or the mouth region as illustrated in FIG. 18) where thelandmark point is located. For example, the evaluation module 420 (e.g.,the feature determination unit 520) may determine the contrast ratio ofthe characteristic region according to formulae (4) to (6) below:

$\begin{matrix}{{FC} = \frac{\sqrt{\delta_{2}}}{256 \times {{\sqrt[4]{\mu}}_{4}/\delta_{2}^{2}}}} & (4) \\{\mu_{4} = \frac{\sum\limits_{i = 0}^{255}{\left( {i - {avg}} \right)^{4}{h(i)}}}{\sum\limits_{i = 0}^{255}{h(i)}}} & (5) \\{\delta_{2} = \frac{\sum\limits_{i = 0}^{255}{\left( {i - {avg}} \right)^{2}{h(i)}}}{\sum\limits_{i = 0}^{255}{h(i)}}} & (6)\end{matrix}$

where FC refers to the contrast ratio of the characteristic region, avgrefers to the average gray value of the characteristic region, and h(i)refers to the number of pixel points of which the gray value is i in thecharacteristic region.

Based on the contrast ratio of the characteristic region as describedabove, the evaluation module 420 (e.g., the feature determination unit520) may determine the gray difference threshold of the characteristicregion according to formula (7) below:

TH=3+20×FC  (7)

where TH refers to the gray difference threshold of the characteristicregion where the landmark point is located.

In some embodiments, to determine the confidence value of the faceindicating whether the face is occluded, the evaluation module 420(e.g., the feature determination unit 520) may perform statisticanalysis on a number of images including occluded faces and imagesincluding nonoccluded faces in advance. The statistic analysis may beperformed according to Local Binary Pattern (LBP) patterns associatedwith a method of Support Vector Machine (SVM) based on a confidencevalue, and/or the LBP patterns associated with SVM classification methodbased on a confidence value. Then, the evaluation module 420 maydetermine a confidence value of the face which may reflect whether theface in the image is occluded.

In 806, the evaluation module 420 (e.g., the feature evaluation unit530) may determine whether the at least one time domain feature relatedto the face satisfies a condition. In some embodiments, the evaluationmodule 420 (e.g., the feature evaluation unit 530) may determine whetherthe posture of the face in the image satisfies a first condition. Insome embodiments, the evaluation module 420 (e.g., the featureevaluation unit 530) may determine whether the definition of the face inthe image satisfies a second condition. In some embodiments, theevaluation module 420 (e.g., the feature evaluation unit 530) maydetermine whether the confidence value of the face satisfies a thirdcondition. More descriptions of different conditions with respect todifferent time domain features may be found elsewhere (e.g., the process900 in FIG. 9 and the description thereof) in the present disclosure.

If the at least one time domain feature does not satisfy the condition,the process 800 may proceed to 812. In 812, the evaluation module 420(e.g., the quality evaluation unit 540) may determine that the qualityof the image is unqualified. If the at least one time domain featuresatisfies the condition, the process 800 may proceed to 808.

In 808, the evaluation module 420 (e.g., the quality evaluation unit540) may determine frequency domain information of the image. Thefrequency domain information of the image may also relate to thedefinition of the face in the image.

To determine the frequency domain information, the evaluation module 420(e.g., the quality evaluation unit 540) may perform a time-to-frequencydomain transformation on one or more pixel values of the image. Forexample, the evaluation module 420 (e.g., the quality evaluation unit540) may adjust the size of the image to a certain size (e.g., 64pixel*64 pixel), and perform the Fourier transformation on the one ormore pixel values of the adjusted image. Additionally, the evaluationmodule 420 (e.g., the quality evaluation unit 540) may perform aweighted operation on the Fourier transformed image based on a weightingmatrix. Thus, the evaluation module 420 may determine the frequencydomain information of the image by, e.g., adding up all weighted pixelvalues of the Fourier transformed image. The weighting matrix may be amatrix. For illustration purpose, in FIG. 22, the gray picturerepresents a weighting matrix. Each pixel in the gray picture mayrepresent a matrix element. The matrix elements of the weighting matrix,which are represented by the gray values of the corresponding pixels,may increase from the center to peripheries, but with pixel values atthe edge set to 0. Alternatively, the specific values of the weightingmatrix may be presented in the form of numerals as shown in FIG. 23.Alternatively or additionally, before performing the Fouriertransformation on the image, the evaluation module 420 (e.g., thequality evaluation unit 540) may adjust one or more pixel values of thetime domain image to obtain another time domain image such that thehigh-frequency component of the frequency domain information may beconcentrated in the central region.

In 810, the evaluation module 420 (e.g., the quality evaluation unit540) may determine a quality evaluation value of the image. In someembodiments, the evaluation module 420 (e.g., the quality evaluationunit 540) may determine the quality evaluation value based on one ormore features of the image (e.g., the posture of the face in the image,the definition of the face in the image). The quality evaluation valuemay be used in a subsequent operation on the image, e.g., operation 706as illustrated in FIG. 7. More descriptions of determining the qualityevaluation value of the image may be found elsewhere (e.g., the process1000 in FIG. 10 and the description thereof) in the present disclosure.

It should be noted that the above description for evaluating the qualityof the image including a face is merely provided for the purpose ofillustration, and not intended to limit the scope of the presentdisclosure. For persons having ordinary skills in the art, multiplevariations and modifications may be made under the teachings of thepresent disclosure. However, those variations and modifications do notdepart from the scope of the present disclosure. For example, theoperations 808 and 810 may be combined into one operation.

FIG. 9 is a flowchart illustrating an exemplary process 900 fordetermining whether the quality of an image including a face isqualified according to some embodiments of the present disclosure. Theprocess 900 may be implemented as a set of instructions (e.g., anapplication) stored in the storage ROM 230, RAM 240 or hardware and/orsoftware components of a device 300. The processor 220 and/or the device300 may execute the set of instructions, and when executing theinstructions, it may be configured to perform the process 900. Theoperations of the illustrated process presented below are intended to beillustrative. In some embodiments, the process 900 may be accomplishedwith one or more additional operations not described and/or without oneor more of the operations discussed. Additionally, the order in whichthe operations of the process as illustrated in FIG. 9 and describedbelow is not intended to be limiting.

In 902, the evaluation module 420 (e.g., the feature evaluation unit530) may evaluate the posture of a face in an image. In someembodiments, the posture of the face in the image may be represented bya rotational angle of the face with respect to an axis. For example, inFIG. 15, the posture of the face may be represented by three rotationalangles, i.e., the deflection angle Sa_yaw with respect to the YAW axis,the pitch angle Sa_pitch with respect to the PITCH axis, and the tiltangle Sa_roll with respect to the ROLL axis. As shown, the YAW axispoints from bottom to top, the PITCH axis points from left to right, andthe ROLL axil points from back to front of the image plane.

To evaluate the posture of the face, the evaluation module 420 (e.g.,the feature evaluation unit 530) may determine whether the rotationalangle with respect to a specific axis is greater than an angle thresholdassociated with the specific axis (e.g., the YAW angle thresholdassociated with the YAW axis, the PITCH angle threshold associated withthe PITCH axis, and/or the ROLL angle threshold associated with the ROLLaxis). The angle threshold may be a default value stored in a storagedevice (e.g., the storage device 140) or a value set by a user of theimage processing device 120.

In 904, the evaluation module 420 (e.g., the feature evaluation unit530) may determine whether the posture of the face satisfies a firstcondition. In some embodiments, the first condition may depend on therotational angle with respect to a specific axis. For example, the firstcondition may include that the deflection angle Sa_yaw with respect tothe YAW axis is less than the YAW angle threshold. As another example,the first condition may be that the deflection angle Sa_yaw is less thanthe YAW angle threshold and the pitch angle Sa_pitch is less than thePITCH angle threshold as well. If the posture of the face satisfies thefirst condition, the process 900 may proceed to 906. If the posture ofthe face does not satisfy the first condition, the process 900 mayproceed to 916. In 916, the evaluation module 420 (e.g., the featureevaluation unit 530) may determine that the quality of the image isunqualified in which condition the image processing device 120 may stopprocessing the image.

In 906, the evaluation module 420 (e.g., the feature evaluation unit530) may evaluate the definition of the face in the image. As describedin connection with operation 804, the evaluation module 420 (e.g., thefeature evaluation unit 530) may determine a parameter related to thedefinition of the face in the image, e.g., the local variance related tothe landmark points in the image, the average gradient related to thelandmark points in the image, and/or the edge width related to thelandmark points in the image.

To evaluate the definition of the face, the evaluation module 420 (e.g.,the feature evaluation unit 530) may determine whether the value of theparameter related to the definition of the face is greater than adefinition threshold. Merely by way of example, the definition thresholdmay include a local variance threshold, a gradient threshold, an edgewidth threshold, or the like, or a combination thereof. The definitionthreshold may be a default parameter stored in a storage device (e.g.,the storage device 140) or a parameter set by a user of the imageprocessing device 120. In some embodiments, the local variance thresholdmay be a value related to the average value of multiple local variancesrelated to multiple landmark points (e.g., the 14 landmark points shownin FIG. 16). In some embodiments, the gradient threshold may be a valuerelated to the average value of multiple average gradients related tomultiple characteristic regions (e.g., the three characteristic regionsshown in FIG. 18). In some embodiments, the edge width threshold may bea value related to the average value of multiple edge widths related tomultiple landmark points (e.g., the 14 landmark points shown in FIG.16).

In 908, the evaluation module 420 (e.g., the feature evaluation unit530) may determine whether the definition of the face in the imagesatisfies a second condition.

In some embodiments, the second condition may depend on the relationshipbetween the value of the parameter related to the definition of the faceand the definition threshold. For example, the second condition mayinclude that each of the local variances related to the multiplelandmark points (e.g., the 14 landmark points shown in FIG. 16) is morethan the local variance threshold. As another example, the secondcondition may include that at least a portion of the local variancesrelated to multiple landmark points (e.g., 8 landmark points of the 14landmark points) are more than the local variance threshold. As stillanother example, the second condition may include that each of theaverage gradients related to the characteristic regions (e.g., threecharacteristic regions shown in FIG. 18) is more than the gradientthreshold. As still another example, the second condition may includethat at least a portion of the average gradients related to the multiplecharacteristic regions (e.g., 2 characteristic regions of the 3characteristic regions) are more than the local variance threshold. Asstill another example, the second condition may include that the averageedge widths of multiple landmark points (e.g., the 14 landmark pointsshown in FIG. 16 or a part thereof) are more than the edge widththreshold.

If the definition of the face does not satisfy the second condition, theprocess 900 may proceed to 916. If the definition of the face satisfiesthe second condition, the process 900 may proceed to 910.

In 910, the evaluation module 420 (e.g., the feature evaluation unit530) may evaluate a confidence value of the face based on therelationship between the confidence value of the face and a confidencerange. As described elsewhere in the disclosure, the confidence value ofthe face that indicates whether the face is occluded may be determinedby performing statistical analysis on a plurality of positive samples,e.g., images including occluded face and images including nonoccludedface. The confidence range may be a default range stored in a storagedevice (e.g., the storage device 140) or a parameter set by a user ofthe image processing device 120.

In 912, the evaluation module 420 (e.g., the feature evaluation unit530) may determine whether the face in the image is occluded accordingto a third condition. In some embodiments, the third condition mayinclude that the confidence value of the face is within the confidencerange. If the confidence value of the face is within the confidencerange, the evaluation module 420 (e.g., the feature evaluation unit 530)may determine that the face in the image is not occluded, and direct theprocess 900 to 914. If the confidence value of the face is beyond theconfidence range, the evaluation module 420 (e.g., the featureevaluation unit 530) may determine that face in the image is occluded,and determine the image as unqualified in 916.

It should be noted that the above description for evaluating the qualityof the image including a face is merely provided for the purpose ofillustration, and not intended to limit the scope of the presentdisclosure. For persons having ordinary skills in the art, multiplevariations and modifications may be made under the teachings of thepresent disclosure. However, those variations and modifications do notdepart from the scope of the present disclosure. For example, theoperations 906 and 908, or the operations 910 and 912 may be removedfrom the process 900.

FIG. 10 is a flowchart illustrating an exemplary process 1000 fordetermining a quality evaluation value of an image including a faceaccording to some embodiments of the present disclosure. The process1000 may be implemented as a set of instructions (e.g., an application)stored in the storage ROM 230, RAM 240 or hardware and/or softwarecomponents of a device 300. The processor 220 and/or the device 300 mayexecute the set of instructions, and when executing the instructions, itmay be configured to perform the process 1000. The operations of theillustrated process presented below are intended to be illustrative. Insome embodiments, the process 1000 may be accomplished with one or moreadditional operations not described and/or without one or more of theoperations discussed. Additionally, the order in which the operations ofthe process as illustrated in FIG. 10 and described below is notintended to be limiting.

In 1002, the evaluation module 420 (e.g., the quality evaluation unit540) may determine frequency domain information of an image including aface. More descriptions regarding the determination of frequency domaininformation may be found elsewhere in the disclosure, for example, theoperation 808 in FIG. 8 and the description thereof.

In 1004, the evaluation module 420 (e.g., the quality evaluation unit540) may determine a first parameter related to the definition of theface. In some embodiments, the first parameter may be determinedaccording to a specific parameter associated with the definition of theface, e.g., an edge width related to one or more landmark points on theface. For example, the evaluation module 420 (e.g., the qualityevaluation unit 540) may divide different value ranges related to theedge width according to a threshold associated with the contrast of theimage. Each of the different value ranges may correspond to a differentvalue of the first parameter. In some embodiments, the evaluation module420 (e.g., the quality evaluation unit 540) may determine an averageedge width of multiple landmark points on the face. As such, if theaverage edge width resides in a smaller value range, the first parametermay have a larger value. And, if the first average edge width resides ina larger value range, the first parameter may have a smaller value.

In 1006, the evaluation module 420 (e.g., the quality evaluation unit540) may determine a quality evaluation component based on the frequencydomain information of the face image and the first parameter. In someembodiments, the evaluation module 420 (e.g., the quality evaluationunit 540) may determine the quality evaluation component by multiplyingthe frequency domain information with the first parameter.

For illustration purpose, the quality evaluation component may bedetermined according to formula (8) below:

$\begin{matrix}{Q_{1} = \left\{ \begin{matrix}{\alpha*S_{f}} & {S_{e} < {ɛ*T_{e}}} \\{\beta*S_{f}} & {S_{e} < {\epsilon*T_{e}}} \\S_{f} & {others}\end{matrix} \right.} & (8)\end{matrix}$

where Q₁ refers to the quality evaluation component of the image, S_(f)refers to the sum of all weighted pixel values of the Fouriertransformed image (i.e., the frequency domain information), S_(e) refersto the average edge width of multiple landmark points on the face, T_(e)refers to the threshold associated with the contrast ratio of the image,α refers to the value of the first parameter (e.g., a is 1.2), β refersto the value of the second parameter described below (e.g., is 0.8), εand ϵ refer to coefficients related to an application scenario. Thecoefficients ε or ϵ may be changed according to different applicationscenarios (e.g., different requirements on the quality of the image).For example, ε is set to 0.2, and ϵ is set to 0.8. The threshold T_(e)may be determined by the similar method with the determination of thegray difference threshold TH of the characteristic region, which may befound elsewhere (e.g., in formulae (4) to (7) and the descriptionsthereof) in the present disclosure.

In 1008, the evaluation module 420 (e.g., the quality evaluation unit540) may determine a second parameter related to the posture of theface. In some embodiments, the second parameter may be determinedaccording to a specific parameter associated with the posture of theface, e.g., the rotational angle of the face with respect to an axis(e.g., the deflection angle Sa_yaw, or the pitch angle Sa_pitch). Forexample, the evaluation module 420 (e.g., the quality evaluation unit540) may divide different angle ranges. Each of the different anglerange may correspond to a different value of the second parameter. Insome embodiments, if the rotational angle of the face with respect to anaxis resides in a smaller angle range (e.g., the Sa_yaw and/or Sa_pitchis in a smaller range), the second parameter may have a larger value.And, if the rotational angle of the face with respect to an axis residesin a larger angle range (e.g., the Sa_yaw and/or Sa_pitch is in a largerrange), the second parameter may have a smaller value.

In 1010, the evaluation module 420 (e.g., the quality evaluation unit540) may determine a quality evaluation value based on the qualityevaluation component and the second parameter. In some embodiments, theevaluation module 420 (e.g., the quality evaluation unit 540) maydetermine the quality evaluation value of the image by multiplying thequality evaluation component with the second parameter.

For example, after the frequency domain information of the image isdetermined according to formula (8), the quality evaluation value of theimage may be determined according to formula (9) below:

$\begin{matrix}{Q = \left\{ \begin{matrix}{1.2*Q_{1}} & {{{Sa\_ yaw}} < {5\mspace{14mu}{and}\mspace{14mu}{{Sa\_ pitch}}} < 5} \\{0.9*Q_{1}} & {{{Sa\_ yaw}} > {15\mspace{14mu}{or}\mspace{14mu}{{Sa\_ pitch}}} > 20} \\{0.8*Q_{1}} & {{{Sa\_ yaw}} > {20\mspace{14mu}{and}\mspace{14mu}{{Sa\_ pitch}}} > 20} \\Q_{1} & {others}\end{matrix} \right.} & (9)\end{matrix}$

where Q₁ refers to the quality evaluation component of the image, Qrefers to the quality evaluation value of the image, Sa_yaw refers tothe deflection angle of the face with respect to the YAW axis, Sa_pitchrefers to the pitch angle of the face with respect to the PITCH axis. Itshall be noted that the quality evaluation value of the image may have alarger value if the face in the image is rotated by a small rotationalangle (e.g., smaller deflection angle Sa_yaw and/or Sa_pitch).

It should be noted that the above description for quality evaluation ofthe image including a face is merely provided for the purpose ofillustration, and not intended to limit the scope of the presentdisclosure. For persons having ordinary skills in the art, multiplevariations and modifications may be made under the teachings of thepresent disclosure. However, those variations and modifications do notdepart from the scope of the present disclosure. For example, operations1004 and 1006 may be combined to one operation. As another example,operations 1008 and 1010 may be combined to one operation.

FIG. 11 is a flowchart illustrating an exemplary process 1100 forcorrecting a 2D image including a face according to some embodiments ofthe present disclosure. The process 1100 may be implemented as a set ofinstructions (e.g., an application) stored in the storage ROM 230, RAM240 or hardware and/or software components of a device 300. Theprocessor 220 and/or the device 300 may execute the set of instructions,and when executing the instructions, it may be configured to perform theprocess 1100. The operations of the illustrated process presented beloware intended to be illustrative. In some embodiments, the process 1100may be accomplished with one or more additional operations not describedand/or without one or more of the operations discussed. Additionally,the order in which the operations of the process as illustrated in FIG.11 and described below is not intended to be limiting.

In 1102, the correction module 430 (e.g., the data acquisition unit 610)may obtain a two dimensional (2D) image including a face and threedimensional (3D) data corresponding to the 2D image. The 2D image mayinclude a plurality of pixels (also referred to as pixel points) and the3D data may include a 3D image or 3D model which comprises a pluralityof voxels (also referred to as spatial points). In some embodiments, theplurality of pixels in the 2D image may be represented by X and Ycoordinates, and the spatial points in the 3D data may be represented byX, Y, and Z coordinates.

In 1104, the correction module 430 (e.g., the point determination unit620) may determine, for each of the plurality of pixels in the 2D image,a spatial point in the 3D data corresponding to the pixel in the 2Dimage. In some embodiment, the correction module 430 (e.g., the pointdetermination unit 620) may determine the spatial point in the 3D dataand the corresponding pixel in the 2D image based on a projectionmatrix. The projection matrix may be a matrix representing therelationship between the pixels in the 2D image and the spatial pointsin the 3D data. More description regarding the determination of theprojection matrix may be found elsewhere (e.g., FIG. 12 and thedescription thereof) in the present disclosure.

In 1106, the correction module 430 (e.g., the mask image determinationunit 630) may determine a mask image based on the spatial points in the3D data corresponding to the plurality of pixels in the 2D image. Themask image may be a 2D image which includes symmetry related informationof the face in the 2D image. For illustration purpose, FIG. 25 shows anexemplary mask image for the 2D image including a face as shown in FIG.24.

In some embodiments, for each pixel of the mask image, the correctionmodule 430 (e.g., the mask image determination unit 630) may associatethe normal direction of a corresponding the spatial point in the 3D datawith the value of the pixel. Thus, if a part of the face is directlyfacing the imaging device (e.g., the imaging device 110), the normallines of the spatial points in the 3D data corresponding to the part ofthe face may be parallel to the Z direction, or have a relatively smallangle with the Z direction. And, if a part of the face is not directlyfacing the imaging device, the angle between the directions of normalline of the spatial points in the 3D data corresponding to the part mayform a relatively large angle with the Z direction. In some embodiments,if the angle formed by the Z direction and the normal line of a spatialpoint in the 3D data is greater than 45°, the part of the face where thespatial point is located may be regarded as occluded or partiallyoccluded. As used herein, the Z direction may refer to the directionwhich is perpendicular to the plane of the 2D image.

In 1108, the correction module 430 (e.g., the symmetry determinationunit 640) may determine a symmetry related parameter of the face in the2D image based on the mask image. In some embodiments, as the pixelvalues are associated with the normal lines of spatial points in themask image, different portions of the mask image may be processedaccording to a specific algorithm to form the symmetry related parameterof the face. More descriptions for determining the symmetry relatedparameter of the face in the 2D image may be found elsewhere (e.g., theprocess 1300 in FIG. 13 and the description thereof) in the presentdisclosure.

In 1110, the correction module 430 (e.g., the correcting unit 650) maycorrect the 2D image based on the symmetry related parameter of the facein the 2D image and the mask image. In some embodiments, the correctionmodule 430 may correct the 2D image to present the front view of theface in a corrected 2D image. More description for correcting the 2Dimage based on the symmetry related parameter of the face in the 2Dimage may be found elsewhere (e.g., FIG. 14 and the description thereof)in the present disclosure.

It should be noted that the above description for correcting the 2Dimage including a face is merely provided for the purpose ofillustration, and not intended to limit the scope of the presentdisclosure. For persons having ordinary skills in the art, multiplevariations and modifications may be made under the teachings of thepresent disclosure. However, those variations and modifications do notdepart from the scope of the present disclosure. For example, operations1104 and 1106 may be combined to one operation.

FIG. 12 is a flowchart illustrating an exemplary process 1200 fordetermining, for each of the plurality of pixels in a 2D image includinga face, a spatial point in a 3D data corresponding to a pixel in the 2Dimage according to some embodiments of the present disclosure. Theprocess 1200 may be implemented as a set of instructions (e.g., anapplication) stored in the storage ROM 230, RAM 240 or hardware and/orsoftware components of a device 300. The processor 220 and/or the device300 may execute the set of instructions, and when executing theinstructions, it may be configured to perform the process 1200. Theoperations of the illustrated process presented below are intended to beillustrative. In some embodiments, the process 1200 may be accomplishedwith one or more additional operations not described and/or without oneor more of the operations discussed. Additionally, the order in whichthe operations of the process as illustrated in FIG. 12 and describedbelow is not intended to be limiting.

In 1202, the correction module 430 (e.g., the data acquisition unit 610)may obtain a 2D image including a face and 3D data corresponding to the2D image as described in connection with operation 1102.

In 1204, the correction module 430 (e.g., the point determination unit620) may determine at least one pixel point in the 2D image. Asdescribed in connection with FIG. 8, the at least one pixel point mayinclude a landmark point, e.g., an edge point of a facial feature (e.g.,a mouth corner point, an eye corner point) of the face in the 2D image.In some embodiments, the at least one pixel point in the 2D image mayinclude landmark points as described elsewhere in the disclosure andinterpolation points that are interpolated between the landmark points.

In 1206, the correction module 430 (e.g., the point determination unit620) may determine at least one spatial point in the 3D datacorresponding to the at least one pixel point in the 2D image. In someembodiments, the correction module 430 may determine the at least onespatial point in the 3D data based on a mapping process. For example, ina mapping process, the correction module 430 may identify the X, Ycoordinates of the at least one pixel point in the 2D image, and thendetermine the at least one spatial point in the 3D data by identifyingspatial points having same X, Y coordinates with that of the at leastone pixel point in the 2D image.

In 1208, the correction module 430 (e.g., the point determination unit620) may determine a projection matrix based on the at least one spatialpoint in the 3D data and a template 3D model of face. The projectionmatrix may be a matrix representing a relationship between the spatialpoints in the 3D data and the pixel points in the 2D images (e.g., therotation matrix R, the translation matrix T illustrated in formula(10)).

In some embodiments, the template 3D model of face may be generatedbased on a plurality of 2D images and corresponding 3D data. For each 2Dimage, multiple landmark points (e.g., the eye corner points, upper andlower edge points of the left eye and/or the right eye) may beextracted. Then, a mapping process as described elsewhere in thedisclosure may be performed to map corresponding spatial points in the3D data with the landmark points of the plurality of 2D images. Forexample, a plurality of left eye corner points may be identified in the3D data. Then, an average coordinate of the left eye corner point may bedetermined according to the plurality of left eye corner points in the3D data. Similarly, the average coordinate of the upper edge point ofthe left/right eye, or the lower edge point of the left/right eye may bedetermined. Thus, the template 3D model of face may be determinedaccording to the average coordinates of various spatial points in the 3Ddata.

In 1210, the correction module 430 (e.g., the point determination unit620) may determine a relationship between the 2D image and the 3D databased on the projection matrix. Merely by way of example, therelationship between the 2D image and the 3D data may be illustrated byformula (10) below:

$\begin{matrix}{X_{2D} = {{{\begin{bmatrix}F_{x} & 0 & C_{x} & 0 \\0 & F_{y} & C_{y} & 0 \\0 & 0 & 1 & 0\end{bmatrix}\begin{bmatrix}R & T \\0 & 1\end{bmatrix}}\begin{bmatrix}x \\y \\Z \\1\end{bmatrix}} = {M_{1}M_{2}X_{3D}}}} & (10)\end{matrix}$

where X_(2D) refers to a matrix associated with the plurality of pixelpoints in the 2D image, X_(3D) refers to a matrix associated with theplurality of spatial points in the 3D data, F_(x), F_(y), C_(x), andC_(y) refer to camera parameters, R refers to a rotation matrix, Trefers to a translation matrix, and M₁M₂, which is defined by the cameraparameters, the rotation matrix and the translation matrix, refers tothe projection matrix.

In 1212, the correction module 430 (e.g., the point determination unit620) may determine, for each of the plurality of pixel points in the 2Dimage, a corresponding spatial point in the 3D data to a pixel in the 2Dimage based on the relationship between the 2D image and the 3D data.

It should be noted that the above description for determining a spatialpoint in the 3D data is merely provided for the purpose of illustration,and not intended to limit the scope of the present disclosure. Forpersons having ordinary skills in the art, multiple variations andmodifications may be made under the teachings of the present disclosure.However, those variations and modifications do not depart from the scopeof the present disclosure. For example, operations 1204 and 1206 may becombined to one operation.

FIG. 13 is a flowchart illustrating an exemplary process 1300 fordetermining a symmetry related parameter of the face in a 2D imageaccording to some embodiments of the present disclosure. The process1300 may be implemented as a set of instructions (e.g., an application)stored in the storage ROM 230, RAM 240 or hardware and/or softwarecomponents of a device 300. The processor 220 and/or the device 300 mayexecute the set of instructions, and when executing the instructions, itmay be configured to perform the process 1300. The operations of theillustrated process presented below are intended to be illustrative. Insome embodiments, the process 1300 may be accomplished with one or moreadditional operations not described and/or without one or more of theoperations discussed. Additionally, the order in which the operations ofthe process as illustrated in FIG. 13 and described below is notintended to be limiting.

In 1302, the correction module 430 (e.g., the mask image determinationunit 630) may determine a mask image based on spatial points in the 3Ddata corresponding to the plurality of pixel points in the 2D image. Insome embodiments, for each pixel in the mask image, the pixel value maybe in associated with the normal line of a spatial point in the 3D datacorresponding to the pixel. For illustration purpose, the correctionmodule 430 may determine the values of the pixels in the mask imagebased on a binary threshold. The binary threshold may be a default valuestored in a storage device (e.g., the storage device 140) or a value setby a user of the image processing device 120. For example, if a pixel inthe mask image corresponding to a spatial point in the 3D data of whichthe angle between the normal line and the Z direction is greater than45°, the value of the pixel in the mask image may be set to 1,otherwise, the value of the pixel may be set to 0.

In 1304, the correction module 430 (e.g., the mask image determinationunit 630) may divide the mask image into a first sub-image and a secondsub-image. The correction module 430 may symmetrically divide the maskimage along the vertical center line to generate a left mage (i.e., thefirst sub-image) and a right image (i.e., the right sub-image).

In 1306, the correction module 430 (e.g., the symmetry determinationunit 640) may determine a difference between the first sub-image and thesecond sub-image. The correction module 430 may determine the sum of thepixel values in the first sub-image and the sum of the pixel values inthe second sub-image, respectively. The difference between the firstsub-image and the second sub-image may be in associated with thedifference between the sum of the pixel values in the first sub-imageand the sum of the pixel values in the second sub-image. Further, thecorrection module 430 may normalize the difference between the firstsub-image and the second sub-image such that the normalized differencemay be within a preset range.

In 1308, the correction module 430 (e.g., the symmetry determinationunit 640) may determine a symmetry related parameter of the face in the2D image based on the difference between the first sub-image and thesecond sub-image. For example, the symmetry related parameter of theface in the 2D image may be determined according to formula (11) below:

$\begin{matrix}{{Wlr} = {\left\lbrack {{{Wlr}(1)}\mspace{11mu}{{Wlr}(2)}} \right\rbrack = \left\{ \begin{matrix}\left\lbrack {0.1\mspace{14mu} 1.9} \right\rbrack & {{{Sdiff}} > 0.3} \\\left\lbrack {1.5\mspace{11mu} 1.5} \right\rbrack & {0.15 < {{Sdiff}} < 0.3} \\\left\lbrack {1.0\mspace{11mu} 1.0} \right\rbrack & {others}\end{matrix} \right.}} & (11)\end{matrix}$

where Wlr refers to the symmetry related parameter of the face in the 2Dimage, Wlr(1) refers to the first symmetry related parameter of thefirst sub-image, Wlr(2) refers to the second symmetry related parameterof the second sub-image, and Sdif f refers to the normalized differencebetween the first sub-image and the second sub-image. It shall be notedthat the smaller the normalized difference is, the more symmetrical theface in the 2D image is.

It should be noted that the above description for determining thesymmetry related parameter of the face in a 2D image is merely providedfor the purpose of illustration, and not intended to limit the scope ofthe present disclosure. For persons having ordinary skills in the art,multiple variations and modifications may be made under the teachings ofthe present disclosure. However, those variations and modifications donot depart from the scope of the present disclosure. For example, thevalues of the first symmetry related parameter of the first sub-imageand the second symmetry related parameter of the second sub-image may beset to other value, such as [0.22.0].

FIG. 14 is a flowchart illustrating an exemplary process 1400 forcorrecting a 2D image according to some embodiments of the presentdisclosure. The process 1400 may be implemented as a set of instructions(e.g., an application) stored in the storage ROM 230, RAM 240 orhardware and/or software components of a device 300. The processor 220and/or the device 300 may execute the set of instructions, and whenexecuting the instructions, it may be configured to perform the process1400. The operations of the illustrated process presented below areintended to be illustrative. In some embodiments, the process 1400 maybe accomplished with one or more additional operations not describedand/or without one or more of the operations discussed. Additionally,the order in which the operations of the process as illustrated in FIG.14 and described below is not intended to be limiting.

In 1402, the correction module 430 may obtain a mask image and asymmetry related parameter of a face in a 2D image as described inconnection with operations 1304 and 1308. In some embodiments, thecorrection module 430 may normalize the mask image to render the pixelvalues of the normalized mask image within a specific range, e.g., from0 to 1.

In 1404, the correction module 430 (e.g., the correcting unit 650) maydetermine a Gaussian image by performing a Gaussian transformation onthe mask image. In some embodiments, the correction module 430 maydetermine the Gaussian image by performing Gaussian kernel blurring onthe mask image. Taking the Gaussian image shown in FIG. 26 as anexample, the Gaussian image may be obtained by performing theone-dimensional Gaussian downward broadening process on the mask imageshown in FIG. 25.

In 1406, the correction module 430 (e.g., the correcting unit 650) maydetermine a first coefficient based on the symmetry related parameter,the mask image, and the Gaussian image. For example, the correctionmodule 430 may determine the first coefficient based on formulae (12),(13) and (14) below:

a=W _(org) ⋅*Wlr(1)  (12)

W _(org) =W _(gauss) ⋅*W0_(org)  (13)

W0_(org)=1/exp(0.5+I _(mask))  (14)

where a refers to the first coefficient, Wlr(1) refers to the firstsymmetry related parameter of the first sub-image, W_(gauss) refers tothe pixel matrix of the Gaussian image, and I_(mask) refers to the pixelmatrix of the normalized mask image.

In 1408, the correction module 430 (e.g., the correcting unit 650) mayflip the Gaussian image and the 2D image. To flip an image may indicatesymmetrically turning the left side of the image to the right, andturning the right side of the image to the left.

In 1410, the correction module 430 (e.g., the correcting unit 650) maydetermine a second coefficient based on the symmetry related parameter,the mask image, and the flipped Gaussian image. For example, thecorrection module 430 may determine the second coefficient based onformula (15), (16), (17) and (18) below:

b=W _(sym) ⋅*Wlr(2)  (15)

W _(sym) =W _(gauss) ′⋅*W0_(sym)  (16)

W0_(sym)=1−W0_(org)  (17)

where b refers to the second coefficient, Wlr(2) refers to the secondsymmetry related parameter of the second sub-image, W_(gauss)′ refers tothe pixel matrix of the flipped Gaussian image, and W0_(org) isdetermined according to formula (14).

In 1412, the correction module 430 (e.g., the correcting unit 650) maydetermine a first matrix based on the 2D image and the Gaussian image.

For example, the correction module 430 may determine the first matrixbased on formula (18) below:

I ₁ =I _(scr) ⋅*W _(gauss)  (18)

where I₁ refers to the first matrix, W_(gauss) refers to the pixelmatrix of the Gaussian image, and I_(scr) refers to the pixel matrix ofthe 2D image.

In 1414, the correction module 430 (e.g., the correcting unit 650) maydetermine a second matrix based on the 2D image and the firstcoefficient.

For example, the correction module 430 may determine the second matrixbased on formula (19) below:

I ₂ =I _(scr) ⋅*a  (19)

where I₂ refers to the second matrix.

In 1416, the correction module 430 (e.g., the correcting unit 650) maydetermine a third matrix based on the flipped 2D image and the secondcoefficient.

For example, the correction module 430 may determine the third matrixbased on formula (20) below:

I ₃ =I _(scrlr) *b  (20)

where I₃ refers to the third matrix, and I_(scrlr) refers to the pixelmatrix of the flipped 2D image.

In 1418, the correction module 430 (e.g., the correcting unit 650) maycorrect the 2D image based on the first matrix, the second matrix, andthe third matrix. The correction module 430 may determine the correctedmatrix of the 2D image by adding up the first matrix, the second matrix,and the third matrix.

For example, the correction module 430 (e.g., the correcting unit 650)may determine the third matrix based on formula (21) below:

I=I ₁ +I ₂ +I ₃  (21)

where I₃ refers to the pixel matrix of the corrected 2D image.

It should be noted that the above description for correcting the 2Dimage is merely provided for the purpose of illustration, and notintended to limit the scope of the present disclosure. For personshaving ordinary skills in the art, multiple variations and modificationsmay be made under the teachings of the present disclosure. However,those variations and modifications do not depart from the scope of thepresent disclosure. For example, operations 1412, 1414 and 1416 may becombined to one operation.

To implement various modules, units, and their functionalities describedin the present disclosure, computer hardware platforms may be used asthe hardware platform(s) for one or more of the elements describedherein. A computer with user interface elements may be used to implementa personal computer (PC) or any other type of work station or terminaldevice. A computer may also act as a server if appropriately programmed.

Having thus described the basic concepts, it may be rather apparent tothose skilled in the art after reading this detailed disclosure that theforegoing detailed disclosure is intended to be presented by way ofexample only and is not limiting. Various alterations, improvements, andmodifications may occur and are intended to those skilled in the art,though not expressly stated herein. These alterations, improvements, andmodifications are intended to be suggested by this disclosure, and arewithin the spirit and scope of the exemplary embodiments of thisdisclosure.

Moreover, certain terminology has been used to describe embodiments ofthe present disclosure. For example, the terms “one embodiment,” “anembodiment,” and/or “some embodiments” mean that a particular feature,structure or characteristic described in connection with the embodimentis included in at least one embodiment of the present disclosure.Therefore, it is emphasized and should be appreciated that two or morereferences to “an embodiment” or “one embodiment” or “an alternativeembodiment” in various portions of this specification are notnecessarily all referring to the same embodiment. Furthermore, theparticular features, structures or characteristics may be combined assuitable in one or more embodiments of the present disclosure.

Further, it will be appreciated by one skilled in the art, aspects ofthe present disclosure may be illustrated and described herein in any ofa number of patentable classes or context including any new and usefulprocess, machine, manufacture, or composition of matter, or any new anduseful improvement thereof. Accordingly, aspects of the presentdisclosure may be implemented entirely hardware, entirely software(including firmware, resident software, micro-code, etc.) or combiningsoftware and hardware implementation that may all generally be referredto herein as a “unit,” “module,” or “system.” Furthermore, aspects ofthe present disclosure may take the form of a computer program productembodied in one or more computer readable media having computer readableprogram code embodied thereon.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including electro-magnetic, optical, or thelike, or any suitable combination thereof. A computer readable signalmedium may be any computer readable medium that is not a computerreadable storage medium and that may communicate, propagate, ortransport a program for use by or in connection with an instructionexecution system, apparatus, or device. Program code embodied on acomputer readable signal medium may be transmitted using any appropriatemedium, including wireless, wireline, optical fiber cable, RF, or thelike, or any suitable combination of the foregoing.

Computer program code for carrying out operations for aspects of thepresent disclosure may be written in any combination of one or moreprogramming languages, including an object-oriented programming languagesuch as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB. NET,Python or the like, conventional procedural programming languages, suchas the “C” programming language, Visual Basic, Fortran 2003, Perl, COBOL2002, PHP, ABAP, dynamic programming languages such as Python, Ruby andGroovy, or other programming languages. The program code may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider) or in a cloud computing environment or offered as aservice such as a Software as a Service (SaaS).

Furthermore, the recited order of processing elements or sequences, orthe use of numbers, letters, or other designations therefore, is notintended to limit the claimed processes and methods to any order exceptas may be specified in the claims. Although the above disclosurediscusses through various examples what is currently considered to be avariety of useful embodiments of the disclosure, it is to be understoodthat such detail is solely for that purpose, and that the appendedclaims are not limited to the disclosed embodiments, but, on thecontrary, are intended to cover modifications and equivalentarrangements that are within the spirit and scope of the disclosedembodiments. For example, although the implementation of variouscomponents described above may be embodied in a hardware device, it mayalso be implemented as a software only solution, e.g., an installationon an existing server or mobile device.

Similarly, it should be appreciated that in the foregoing description ofembodiments of the present disclosure, various features are sometimesgrouped together in a single embodiment, figure, or description thereoffor the purpose of streamlining the disclosure aiding in theunderstanding of one or more of the various embodiments. This method ofdisclosure, however, is not to be interpreted as reflecting an intentionthat the claimed subject matter requires more features than areexpressly recited in each claim. Rather, claimed subject matter may liein less than all features of a single foregoing disclosed embodiment.

1-28. (canceled)
 29. A face recognition electronic system, comprising:at least one storage device storing a set of instructions; at least oneprocessor in communication with the at least one storage device, whereinwhen executing the set of instructions the at least one processor:obtain a two-dimensional (2D) image including a face, andthree-dimensional (3D) data corresponding to the 2D image, the 2D imageincluding a plurality of pixels, the 3D data including a plurality ofpoints; determine, for each of the plurality of pixels in the 2D image,a point in the 3D data corresponding to the pixel in the 2D image;determine a mask image based on the point in the 3D data correspondingto each of the plurality of pixels in the 2D image; determine, based onthe mask image, a symmetry related parameter of the face in the 2Dimage; and correct, based on the symmetry related parameter of the face,the 2D image to generate a corrected 2D image including a front view ofthe face.
 30. The system of claim 29, wherein to determine, for each ofthe plurality of pixels in the 2D image, the point in the 3D datacorresponding to the pixel in the 2D image, the at least one processor:determine at least one landmark point in the 2D image; determine atleast one point in the 3D data corresponding to the at least onelandmark point in the 2D image; determine a projection matrix based onthe at least one point in the 3D data and a template 3D model of face;determine a relationship between the 2D image and the 3D data based onthe projection matrix; determine, for each of the plurality of pixels inthe 2D image, the point in the 3D data corresponding to the pixel in the2D image based on the relationship between the 2D image and the 3D data.31. The system of claim 30, wherein the at least one landmark point inthe 2D image includes at least one edge point of a facial feature. 32.The system of claim 30, wherein to determine the at least one point inthe 3D data corresponding to the at least one landmark point in the 2Dimage, the at least one processor: identify coordinates of the at leastone landmark point in the 2D image; and identify points in the 3D datahaving same coordinates with the coordinates of the at least onelandmark point in the 2D image as the at least one point in the 3D datacorresponding to the at least one landmark point in the 2D image. 33.The system of claim 30, wherein the template 3D model of face isgenerated based on a plurality of 2D images and corresponding 3D data.34. The system of claim 29, wherein to determine the symmetry relatedparameter of the face in the 2D image, the at least one processor:divide the mask image into a first sub-image and a second sub-image;determine a difference between the first sub-image and the secondsub-image; and determine, based on the difference between the firstsub-image and the second sub-image, the symmetry related parameter ofthe face in the 2D image.
 35. The system of claim 34, wherein the atleast one processor: symmetrically divide the mask image along avertical centerline into a left image and a right image, the left imagebeing the first sub-image, the right image being the second sub-image.36. The system of claim 34, wherein to determine the difference betweenthe first sub-image and the second sub-image, the at least oneprocessor: determine a first sum of values of pixels in the firstsub-image and a second sum of values of pixels in the second sub-image;and determine the difference between the first sub-image and the secondsub-image based on the first sum and the second sum.
 37. The system ofclaim 36, wherein a value of a pixel in the mask image is associatedwith a normal line of a point in the 3D data corresponding to the pixel;and in response to that a pixel in the mask image corresponding to apoint in the 3D data of which the angle between the normal line and theZ direction is greater than 45°, the value of the pixel in the maskimage is set as 1, in response to that a pixel in the mask imagecorresponding to a point in the 3D data of which the angle between thenormal line and the Z direction is equal or smaller than 45°, the valueof the pixel is set as
 0. 38. The system of claim 34, wherein thedifference between the first sub-image and the second sub-image isnormalized.
 39. The system of claim 29, wherein to correct the 2D image,the at least one processor: determine a Gaussian image based on the maskimage; determine a first coefficient associated with the symmetryrelated parameter, the mask image, and the Gaussian image; flip theGaussian image and the 2D image; determine a second coefficientassociated with the symmetry related parameter, the mask image, and theflipped Gaussian image; determine a first matrix based on the 2D imageand the Gaussian image; determine a second matrix based on the 2D imageand the first coefficient; determine a third matrix based on the flipped2D image and the second coefficient; and correct the 2D image based onthe first matrix, the second matrix, and the third matrix.
 40. Thesystem of claim 39, wherein to correct the 2D image based on the firstmatrix, the second matrix, and the third matrix, the at least oneprocessor: determine a corrected matrix of the 2D image by adding up thefirst matrix, the second matrix, and the third matrix; and correct the2D image based on the corrected matrix of the 2D image.
 41. A methodimplemented on at least one device each of which has at least oneprocessor and storage, the method comprising: obtaining atwo-dimensional (2D) image including a face, and three-dimensional (3D)data corresponding to the 2D image, the 2D image including a pluralityof pixels, the 3D data including a plurality of points; determining, foreach of the plurality of pixels in the 2D image, a point in the 3D datacorresponding to the pixel in the 2D image; determining a mask imagebased on the point in the 3D data corresponding to each of the pluralityof pixels in the 2D image; determining, based on the mask image, asymmetry related parameter of the face in the 2D image; and correcting,based on the symmetry related parameter of the face, the 2D image togenerate a corrected 2D image including a front view of the face. 42.The method of claim 41, wherein the determining, for each of theplurality of pixels in the 2D image, the point in the 3D datacorresponding to the pixel in the 2D image includes: determining atleast one landmark point in the 2D image; determining at least one pointin the 3D data corresponding to the at least one landmark point in the2D image; determining a projection matrix based on the at least onepoint in the 3D data and a template 3D model of face; determining arelationship between the 2D image and the 3D data based on theprojection matrix; determining, for each of the plurality of pixels inthe 2D image, the point in the 3D data corresponding to the at least onelandmark point in the 2D image based on the relationship between the 2Dimage and the 3D data.
 43. The method of claim 41, wherein thedetermining of the symmetry related parameter of the face in the 2Dimage includes: dividing the mask image into a first sub-image and asecond sub-image; determining a difference between the first sub-imageand the second sub-image; and determining, based on the differencebetween the first sub-image and the second sub-image, the symmetryrelated parameter of the face in the 2D image.
 44. The method of claim43, wherein the dividing the mask image into a first sub-image and asecond sub-image comprises: symmetrically dividing the mask image alonga vertical centerline into a left image and a right image, the leftimage being the first sub-image, the right image being the secondsub-image.
 45. The method of claim 43, wherein the determining thedifference between the first sub-image and the second sub-imagecomprises: determining a first sum of values of pixels in the firstsub-image and a second sum of values of pixels in the second sub-image;and determining the difference between the first sub-image and thesecond sub-image based on the first sum and the second sum.
 46. Themethod of claim 43, wherein a value of a pixel in the mask image isassociated with a normal line of a point in the 3D data corresponding tothe pixel, and in response to that a pixel in the mask imagecorresponding to a point in the 3D data of which the angle between thenormal line and the Z direction is greater than 45°, the value of thepixel in the mask image is set as 1, in response to that a pixel in themask image corresponding to a point in the 3D data of which the anglebetween the normal line and the Z direction is equal or smaller than45°, the value of the pixel is set as
 0. 47. The method of claim 41,wherein the correcting of the 2D image comprises: determining a Gaussianimage based on the mask image; determining a first coefficientassociated with the symmetry related parameter, the mask image, and theGaussian image; flipping the Gaussian image and the 2D image;determining a second coefficient associated with the symmetry relatedparameter, the mask image, and the flipped Gaussian image; determining afirst matrix based on the 2D image and the Gaussian image; determining asecond matrix based on the 2D image and the first coefficient;determining a third matrix based on the flipped 2D image and the secondcoefficient; and correcting the 2D image based on the first matrix, thesecond matrix, and the third matrix.
 48. A non-transitory computerreadable medium, comprising at least one set of instructions forcorrecting a two-dimensional (2D) image, wherein when executed by one ormore processors of a computing device, the at least one set ofinstructions causes the computing device to perform a method, the methodcomprising: obtaining the 2D image including a face, andthree-dimensional (3D) data corresponding to the 2D image, the 2D imageincluding a plurality of pixels, the 3D data including a plurality ofpoints; determining, for each of the plurality of pixels in the 2Dimage, a point in the 3D data corresponding to the pixel in the 2Dimage; determining a mask image based on the point in the 3D datacorresponding to each of the plurality of pixels in the 2D image;determining, based on the mask image, a symmetry related parameter ofthe face in the 2D image; and correcting; based on the symmetry relatedparameter of the face, the 2D image to generate a corrected 2D imageincluding a front view of the face.